// // 普通方法：target对应的是类的prototype
// // 静态方法：target对应的是类的构造函数

// // function nameDecorator(target: any,key: string):any{
// //   console.log(target, key)
// //   const descriptor:PropertyDescriptor={
// //     writable: false
// //   }
// //   return descriptor
// // }

// function nameDecorator(target: any,key: string):any{
//   console.log(target, key)
//   target[key] = 'lee';
//   // const descriptor:PropertyDescriptor={
//   //   writable: false
//   // }
//   // return descriptor
// }

// // 修改的并不是实例上的name，而是原型上的name
// class Test{
//   @nameDecorator
//   name = 'Dell';
// }

// const test = new Test();
// // test.name = "dell lee"
// console.log((test as any).__proto__.name)
// // console.log(test.getName())